```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OSI七层网络模型详解 | 技术小馆</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.6;
        }
        .hero {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .layer-card {
            transition: all 0.3s ease;
            border-left: 4px solid;
        }
        .layer-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
        }
        .section-title {
            position: relative;
            display: inline-block;
        }
        .section-title:after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60%;
            height: 3px;
            background: linear-gradient(to right, #667eea, #764ba2);
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <section class="hero text-white py-20 px-4 md:px-0">
        <div class="container mx-auto max-w-6xl px-4">
            <div class="flex flex-col items-center text-center">
                <h1 class="text-4xl md:text-6xl font-bold mb-4 font-serif">OSI七层网络模型</h1>
                <p class="text-xl md:text-2xl max-w-3xl mb-8">探索网络通信的核心架构与分层原理</p>
                <div class="bg-white bg-opacity-20 rounded-full px-6 py-3 inline-flex items-center">
                    <i class="fas fa-network-wired mr-2"></i>
                    <span>网络工程师必备知识</span>
                </div>
            </div>
        </div>
    </section>

    <!-- Introduction -->
    <section class="py-16 px-4">
        <div class="container mx-auto max-w-4xl">
            <div class="bg-white rounded-xl shadow-md p-8">
                <h2 class="text-2xl md:text-3xl font-bold mb-6 font-serif section-title">模型概述</h2>
                <p class="text-gray-700 mb-6">七层网络模型，也称为OSI模型（Open Systems Interconnection Model），是一个用来理解和设计网络通信的分层结构。OSI模型将复杂的网络通信任务分成了七个独立但相互协作的层次，每一层都具有特定的功能和作用。</p>
                <p class="text-gray-700">通过这种分层结构，OSI模型提供了一种标准化的框架，帮助不同的网络设备和协议相互通信而不必考虑底层实现的差异。</p>
            </div>
        </div>
    </section>

    <!-- Visualization -->
    <section class="py-16 px-4 bg-gray-100">
        <div class="container mx-auto max-w-6xl">
            <h2 class="text-2xl md:text-3xl font-bold mb-12 text-center font-serif section-title">OSI模型分层架构</h2>
            
            <div class="mermaid mb-16">
                graph TD
                    A[应用层] -->|为用户提供服务| B[表示层]
                    B -->|数据格式转换| C[会话层]
                    C -->|会话管理| D[传输层]
                    D -->|端到端传输| E[网络层]
                    E -->|路由选择| F[数据链路层]
                    F -->|帧传输| G[物理层]
            </div>
            
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                <div class="bg-white rounded-lg p-6 layer-card border-l-blue-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-blue-100 text-blue-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-wifi"></i>
                        </div>
                        <h3 class="text-xl font-bold">物理层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">负责网络通信的物理传输，定义硬件设备如何连接并传输比特流。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：物理层就像高速公路，决定道路的基本属性如方向、宽度和动力类型。</p>
                    </div>
                </div>
                
                <div class="bg-white rounded-lg p-6 layer-card border-l-purple-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-purple-100 text-purple-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-link"></i>
                        </div>
                        <h3 class="text-xl font-bold">数据链路层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">确保数据在两个相邻节点之间可靠传输，组织成帧并检测错误。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：数据链路层是交通规则系统，防止碰撞并处理事故。</p>
                    </div>
                </div>
                
                <div class="bg-white rounded-lg p-6 layer-card border-l-green-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-green-100 text-green-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-route"></i>
                        </div>
                        <h3 class="text-xl font-bold">网络层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">负责不同网络间的数据路由，选择最优路径传输数据。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：网络层是城市导航系统，决定如何到达目的地。</p>
                    </div>
                </div>
                
                <div class="bg-white rounded-lg p-6 layer-card border-l-red-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-red-100 text-red-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-truck"></i>
                        </div>
                        <h3 class="text-xl font-bold">传输层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">管理端到端数据传输，提供可靠或不可靠的服务。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：传输层像快递公司，负责包裹的打包和确认送达。</p>
                    </div>
                </div>
                
                <div class="bg-white rounded-lg p-6 layer-card border-l-yellow-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-yellow-100 text-yellow-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-phone-alt"></i>
                        </div>
                        <h3 class="text-xl font-bold">会话层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">建立、管理和终止通信会话，确保数据有序传输。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：会话层是电话会议管理者，控制发言顺序。</p>
                    </div>
                </div>
                
                <div class="bg-white rounded-lg p-6 layer-card border-l-indigo-500">
                    <div class="flex items-center mb-4">
                        <div class="bg-indigo-100 text-indigo-600 rounded-full w-10 h-10 flex items-center justify-center mr-4">
                            <i class="fas fa-language"></i>
                        </div>
                        <h3 class="text-xl font-bold">表示层</h3>
                    </div>
                    <p class="text-gray-600 mb-4">负责数据格式转换和编码解码，包括加密压缩等。</p>
                    <div class="bg-gray-100 p-3 rounded-lg">
                        <p class="text-sm text-gray-700"><i class="fas fa-lightbulb text-yellow-500 mr-2"></i>类比：表示层是语言翻译器，确保双方互相理解。</p>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Detailed Layers -->
    <section class="py-16 px-4">
        <div class="container mx-auto max-w-4xl">
            <h2 class="text-2xl md:text-3xl font-bold mb-12 text-center font-serif section-title">各层详细解析</h2>
            
            <div class="space-y-12">
                <!-- Layer 1 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-blue-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第1层</span>
                            <h3 class="text-xl font-bold">物理层 (Physical Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">物理层负责网络通信的物理传输，是OSI模型的最底层。它定义了硬件设备如何连接并传输比特流（即0和1的序列）。物理层涉及的内容包括电缆类型、连接器、信号类型（电信号或光信号）、电压电平、脉冲信号等。</p>
                        <div class="bg-blue-50 p-4 rounded-lg border-l-4 border-blue-500">
                            <p class="text-blue-800"><i class="fas fa-quote-left text-blue-400 mr-2"></i>可以将物理层想象成一条高速公路，它决定了汽车（数据）的行驶方式：这条路是双向的还是单向的？道路宽度（带宽）是多少？汽车用电力驱动还是燃油驱动（信号类型）？</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">RS-232</span>
                                <span class="bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">RJ45</span>
                                <span class="bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">光纤</span>
                                <span class="bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">双绞线</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 2 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-purple-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第2层</span>
                            <h3 class="text-xl font-bold">数据链路层 (Data Link Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">数据链路层的主要功能是确保数据在两个相邻节点之间可靠传输。这一层将收到的比特流组织成帧（Frame），并通过差错检测（如CRC校验）和流量控制来保证数据的完整性。数据链路层通常被分为两个子层：逻辑链路控制（LLC）和介质访问控制（MAC）。</p>
                        <div class="bg-purple-50 p-4 rounded-lg border-l-4 border-purple-500">
                            <p class="text-purple-800"><i class="fas fa-quote-left text-purple-400 mr-2"></i>如果物理层是高速公路，数据链路层就是路上的交通规则和信号灯系统。它规定了汽车如何合规行驶，如何防止碰撞（冲突），以及如何应对车祸（错误检测和恢复）。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full">Ethernet</span>
                                <span class="bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full">PPP</span>
                                <span class="bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full">HDLC</span>
                                <span class="bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full">MAC地址</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 3 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-green-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第3层</span>
                            <h3 class="text-xl font-bold">网络层 (Network Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">网络层负责在不同的网络之间路由数据。它的核心任务是找到最优路径，将数据从源端发送到目的端。网络层使用逻辑地址（如IP地址）来标识设备，并通过路由协议（如OSPF、BGP）选择最优路径。</p>
                        <div class="bg-green-50 p-4 rounded-lg border-l-4 border-green-500">
                            <p class="text-green-800"><i class="fas fa-quote-left text-green-400 mr-2"></i>网络层可以被类比为城市的导航系统。它负责决定汽车从一个城市出发，如何通过不同的道路（路由）到达另一个城市。这个过程需要知道目的地地址（IP地址），并选择最快或最便宜的路线。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full">IP</span>
                                <span class="bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full">ICMP</span>
                                <span class="bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full">OSPF</span>
                                <span class="bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full">BGP</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 4 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-red-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第4层</span>
                            <h3 class="text-xl font-bold">传输层 (Transport Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">传输层负责数据的端到端传输，并提供可靠或不可靠的数据传输服务。传输层通过分段（Segment）和重组来管理数据流，常见的协议有TCP（传输控制协议，提供可靠传输）和UDP（用户数据报协议，提供不可靠传输）。</p>
                        <div class="bg-red-50 p-4 rounded-lg border-l-4 border-red-500">
                            <p class="text-red-800"><i class="fas fa-quote-left text-red-400 mr-2"></i>传输层就像快递公司的运营部门，它决定了包裹（数据）应该如何打包，如何确认包裹是否成功送达，以及是否需要重新发送丢失的包裹（重传机制）。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full">TCP</span>
                                <span class="bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full">UDP</span>
                                <span class="bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full">端口号</span>
                                <span class="bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full">流量控制</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 5 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-yellow-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第5层</span>
                            <h3 class="text-xl font-bold">会话层 (Session Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">会话层负责建立、管理和终止通信会话（Session）。它提供了数据交换的逻辑连接，可以管理数据传输的开始和结束，确保数据有序传输和重同步。</p>
                        <div class="bg-yellow-50 p-4 rounded-lg border-l-4 border-yellow-500">
                            <p class="text-yellow-800"><i class="fas fa-quote-left text-yellow-400 mr-2"></i>会话层类似于一个电话会议管理者，它控制谁能发言，何时发言，以及会议何时开始和结束。它确保各方都能够听到对方，并按顺序发言。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-yellow-100 text-yellow-800 text-sm px-3 py-1 rounded-full">NetBIOS</span>
                                <span class="bg-yellow-100 text-yellow-800 text-sm px-3 py-1 rounded-full">RPC</span>
                                <span class="bg-yellow-100 text-yellow-800 text-sm px-3 py-1 rounded-full">PPTP</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 6 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-indigo-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第6层</span>
                            <h3 class="text-xl font-bold">表示层 (Presentation Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">表示层负责数据格式的转换和编码解码。它主要解决数据在不同系统之间传输时的表示方式差异问题，包括数据加密、压缩、格式转换等。</p>
                        <div class="bg-indigo-50 p-4 rounded-lg border-l-4 border-indigo-500">
                            <p class="text-indigo-800"><i class="fas fa-quote-left text-indigo-400 mr-2"></i>表示层就像一个语言翻译器，确保两个不同语言的参与者（计算机）能够互相理解。它负责将数据转换为双方都能理解的格式，并可能对数据进行加密以保护隐私。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-indigo-100 text-indigo-800 text-sm px-3 py-1 rounded-full">SSL/TLS</span>
                                <span class="bg-indigo-100 text-indigo-800 text-sm px-3 py-1 rounded-full">JPEG</span>
                                <span class="bg-indigo-100 text-indigo-800 text-sm px-3 py-1 rounded-full">MPEG</span>
                                <span class="bg-indigo-100 text-indigo-800 text-sm px-3 py-1 rounded-full">ASCII</span>
                            </div>
                        </div>
                    </div>
                </div>
                
                <!-- Layer 7 -->
                <div class="bg-white rounded-xl shadow-md overflow-hidden">
                    <div class="bg-pink-600 px-6 py-4 text-white">
                        <div class="flex items-center">
                            <span class="text-lg font-bold mr-4">第7层</span>
                            <h3 class="text-xl font-bold">应用层 (Application Layer)</h3>
                        </div>
                    </div>
                    <div class="p-6">
                        <p class="text-gray-700 mb-4">应用层是OSI模型的最高层，直接为用户提供服务。它定义了网络应用程序之间通信的接口和服务，包括电子邮件（SMTP）、文件传输（FTP）、网页浏览（HTTP）等。</p>
                        <div class="bg-pink-50 p-4 rounded-lg border-l-4 border-pink-500">
                            <p class="text-pink-800"><i class="fas fa-quote-left text-pink-400 mr-2"></i>应用层可以看作是用户与网络之间的桥梁。它就像我们使用的应用软件（如浏览器、邮件客户端），通过这些应用程序，我们能够直接与网络进行交互。</p>
                        </div>
                        <div class="mt-4">
                            <h4 class="font-semibold text-gray-800 mb-2">关键技术/协议：</h4>
                            <div class="flex flex-wrap gap-2">
                                <span class="bg-pink-100 text-pink-800 text-sm px-3 py-1 rounded-full">HTTP</span>
                                <span class="bg-pink-100 text-pink-800 text-sm px-3 py-1 rounded-full">FTP</span>
                                <span class="bg-pink-100 text-pink-800 text-sm px-3 py-1 rounded-full">SMTP</span>
                                <span class="bg-pink-100 text-pink-800 text-sm px-3 py-1 rounded-full">DNS</span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Summary -->
    <section class="py-16 px-4 bg-gray-100">
        <div class="container mx-auto max-w-4xl">
            <div class="bg-white rounded-xl shadow-md p-8">
                <h2 class="text-2xl md:text-3xl font-bold mb-6 font-serif section-title">OSI模型的意义</h2>
                <p class="text-gray-700 mb-4">OSI七层模型虽然是一个理论模型，实际网络实现中（如TCP/IP协议栈）并不完全对应，但它为网络通信提供了重要的概念框架：</p>
                <ul class="list-disc pl-6 space-y-2 text-gray-700">
                    <li>将复杂的网络通信过程分解为多个功能明确的层次，简化了网络设计和故障排除</li>
                    <li>实现了不同厂商设备的互操作性，促进了网络标准化</li>
                    <li>为学习网络知识提供了系统化的方法，便于理解网络通信的全过程</li>
                    <li>各层独立发展，技术更新不会影响其他层次的功能</li>
                </ul>
                <div class="mt-8 p-6 bg-gradient-to-r from-blue-500 to-purple-600 rounded-lg text-white">
                    <h3 class="text-xl font-bold mb-3"><i class="fas fa-lightbulb mr-2"></i>知识拓展</h3>
                    <p>现代互联网主要基于TCP/IP协议栈，它只有四层：网络接口层、网络层、传输层和应用层。TCP/IP协议栈将OSI模型的会话层、表示层和应用层合并为单一的应用层，将数据链路层和物理层合并为网络接口层。</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="bg-gray-900 text-gray-300 py-10 px-4">
        <div class="container mx-auto max-w-6xl">
            <div class="flex flex-col md:flex-row justify-between items-center">
                <div class="mb-4 md:mb-0">
                    <h3 class="text-xl font-bold text-white mb-2">技术小馆</h3>
                    <p>专业的技术知识分享平台</p>
                </div>
                <div>
                    <a href="http://www.yuque.com/jtostring" class="text-blue-400 hover:text-blue-300 transition-colors">
                        <i class="fas fa-globe mr-2"></i>http://www.yuque.com/jtostring
                    </a>
                </div>
            </div>
            <div class="border-t border-gray-800 mt-8 pt-8 text-center text-sm">
                <p>© 2023 技术小馆. 保留所有权利.</p>
            </div>
        </div>
    </footer>

    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true,
                curve: 'basis'
            }
        });
        
        // Add hover effects
        document.querySelectorAll('.layer-card').forEach(card => {
            card.addEventListener('mouseenter', function() {
                const borderColor = window.getComputedStyle(this).borderLeftColor;
                this.style.boxShadow = `0 10px 25px ${borderColor.replace('rgb', 'rgba').replace(')', ', 0.2)')}`;
            });
            card.addEventListener('mouseleave', function() {
                this.style.boxShadow = '';
            });
        });
    </script>
</body>
</html>
```